﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;

// HonorBuddy Includes
using Styx.Helpers;
using Styx;
using Styx.Common;
using System.ComponentModel;
using DefaultValue = Styx.Helpers.DefaultValueAttribute;
using Styx.WoWInternals.WoWObjects;

namespace GotWood_Plugin
{
    public class GW_Settings : Settings
    {
        private static LocalPlayer Me { get { return StyxWoW.Me; } }

        public GW_Settings()
            : base(Utilities.AssemblyDirectory + @"\Settings\" + Me.RealmName + @"\" + Me.Name + @"\GotWood_Settings.xml")
        {
        }

        private static void MyLogging(string Message)
        {
            Logging.Write(LogLevel.Normal, Colors.Orange, Message);
        }

        public void DumpSettings(string Message = null)
        {
            MyLogging("GotWood: Settings " + Message);
            MyLogging("------------------------------------------");
            MyLogging(string.Format("   Collect Small Timber  = {0}", getSmallTimber));
            MyLogging(string.Format("   Collect Timber        = {0}", getMediumTimber));
            MyLogging(string.Format("   Collect Large Timber  = {0}", getLargeTimber));
            MyLogging(string.Format("   DebugLog              = {0}", DebugLog));
            MyLogging("------------------------------------------");

            return;
        }

        [Setting]
        [DefaultValue(true)]
        [Category("Timber")]
        [DisplayName("Small Timber")]
        [Description("Collect Small Timber")]
        public bool getSmallTimber { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Timber")]
        [DisplayName("Timber")]
        [Description("Collect Timber")]
        public bool getMediumTimber { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Timber")]
        [DisplayName("Large Timber")]
        [Description("Collect Large Timber")]
        public bool getLargeTimber { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Debug")]
        [DisplayName("Debug Logging")]
        [Description("Turn on for more detailed logging")]
        public bool DebugLog { get; set; }

    }
}
